package org.jb.coinche.server;

import org.jb.coinche.server.chat.ChatModule;
import org.jb.coinche.server.notify.NotificationModule;
import org.jb.coinche.server.rooms.RoomModule;
import org.jb.coinche.server.user.impl.UserModule;
import org.jb.coinche.server.user.room.impl.RoomUsersModule;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.servlet.GuiceServletContextListener;

public class WebAppGuiceContextListener extends GuiceServletContextListener {

	@Override
	protected Injector getInjector() {
			return Guice.createInjector(
					new ThreadExecutorModule(),
					new CoincheServletModule(), 
					new CoincheModule(),
					new NotificationModule(),
					new ChatModule(),
					new UserModule(),
					new RoomModule(),
					new RoomUsersModule() );
	}

}
